Method and system for messaging across cellular networks and a public data network

ABSTRACT

A computer program product for instant message communication in a wireless and non-wireless environment. A message is sent from a mobile unit device over a wireless communication network. The message includes a destination address, information associated with the mobile unit device&#39;s user, message content and message address. If, according to information previously stored for the mobile unit device&#39;s user at the instant message system, the destination address is associated with an instant message function, the associated instant message function is executed at the instant message system using the information contained in the message content, if required as determined by the associated instant message function. If, according to information previously stored for the mobile unit device&#39;s user, the destination address is associated with an instant message name, an instant message is created according to the message content and is sent to the user with the associated instant message name.

PRIORITY CLAIM

This application is a Continuation of U.S. patent application Ser. No.10/795,500, filed Mar. 8, 2004, which is a Continuation of U.S. patentapplication Ser. No. 09/519,525, filed Mar. 6, 2000, which are herebyincorporated by reference.

FIELD OF THE INVENTION

The present invention generally relates to non-voice messagetransmission and reception across cellular and public or private datanetworks and, more particularly to a method and system for messagedelivery between a cellular and public data network.

BACKGROUND OF THE INVENTION

Around the world, tens of millions of users are using software thatenables them to be alerted when friends, family and colleagues goon-line for the real-time exchange of messages. A commonly used term forthis type of real-time exchange is instant messaging. Instant messagingis cheap, with most vendors giving away the product and others chargingnominal licensing fees. It is also powerful, allowing users tocommunicate in one window while, for example, looking over a document inanother. Team members in different locations can set up impromptuconversations, bouncing ideas and strategies off each other. It providesquick and dirty collaboration, with little to buy and not much to setup.

The best known instant messaging system is America Online's InstantMessenger (AIM) that was originally designed as a feature for AOL's payservice. AIM is software that anyone with an Internet connection candownload, whether they are an AOL member or not. After registering ascreen name, the user can maintain lists of AOL members and other AIMusers, and be alerted whenever one of those in the list comes on-line.When one of those in the list comes on-line, the corresponding screenname appears in an AIM interface window on the screen. By clicking onthe name appearing in the AIM interface window, the user may then sendan instant message and initiate a conversation session. Users can alsosort their buddies into groups. For example, a lawyer could createseparate groups for partners, associates, in-house counsel andadversaries.

Other vendors, such as Yahoo, PeopleLink, Mirabilis (ICQ) and Activerse,offer similar instant message service.

Despite the apparent success of instant messaging systems, it is stilllimited to a user accessing the service through computer-based systemshardwired to the Internet. There exists a need to provide the benefitsof instant messaging, immediate knowledge of another online status andreal-time text communication, outside of hardwired Internet systems.Specifically in a wireless environment, it would be advantageous to knowif a subscriber has turned on their cellular phone. It would also beadvantageous to communicate via text messages, which are far less costlythan voice communications because text message data uses up much lessbandwidth or resources than voice data.

SUMMARY OF THE INVENTION

The present invention provides a method, system and computer programproduct for instant message communication in a wireless and non-wirelessenvironment. First, a message is sent from a mobile unit device over awireless communication network. The message includes a destinationaddress, information associated with the mobile unit device's user,message content and message address. If, according to informationpreviously stored for the mobile unit device's user at the instantmessage system, the destination address is associated with an instantmessage function, the associated instant message function is executed atthe instant message system using the information contained in themessage content, if required as determined by the associated instantmessage function. If, according to information previously stored for themobile unit device's user at the instant message system, the destinationaddress is associated with an instant message name, an instant messageis created according to the message content and is sent to the user withthe associated instant message name.

In accordance with another aspect of the present invention, if saidinstant message function is a sign on function, an instant messagesession is initiated according to prestored user profile information andthe message content. The message content is an instant message nameassociated with the user of the mobile unit device and a predefinedpassword.

In accordance with still another aspect of the present invention, thestatus information of users associated with instant message names storedfor the user of the mobile unit device in the instant message system aredetermined and sent to the mobile unit device of the user. The user'smobile unit device then presents the sent status information.

In accordance with yet another aspect of the present invention, if saidinstant message function is a sign off function, the instant messagesession associated with the mobile unit device's user is ended.

In accordance with still yet another aspect of the present invention, ifsaid instant message function is a delete instant message name function,the stored instant message is deleted according to the message content.The message content is at least one instant message name.

In accordance with still another aspect of the present invention, ifsaid instant message function is an update instant message namefunction, the status information of users associated with instantmessage names stored for the user of the mobile unit device in theinstant message system are determined and sent to the mobile unit deviceof the user. The user's mobile unit device then presents the sent statusinformation.

In accordance with further aspects of the present invention, an instantmessage name is associated with a destination address at the instantmessage system. This association is saved in memory in the instantmessage system according to a registered user of a mobile unit device.An executable address loading program is generated according to thesaved association and then sent through the wireless environment to themobile unit device of the registered user. At the mobile unit device theexecutable address loading program is executed, thereby entering theassociated instant message name and address into memory.

In accordance with still further aspects of the present invention, aninstant message is processed according to sender user information storedat the instant message system if it is intended for a recipient usersigned on through a mobile unit device and then sent through thewireless environment to the mobile unit device of the recipient user.The user's mobile unit device presents the sent instant message and theinstant message name of the creator of the instant message.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same becomesbetter understood by reference to the following detailed description,when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram of the components of the present invention;

FIG. 2 is a flow diagram of a process of entering instant message namesformed in accordance with the present invention;

FIGS. 3-7 are flow diagrams of the formed in accordance with the presentinvention;

FIGS. 8 and 9 are screen shots of an example user interface for remotelyentering instant message names; and

FIGS. 10-14 are diagrams of example user interfaces implemented on acellular phone.

DETAILED DESCRIPTION

The present invention is an integrated wireless and traditional instantmessaging system and method. As shown in FIG. 1, the system 20 includesa instant message routing system 22 that includes a routing server 24and a database 26 for storing a profile for each subscribing user. Eachuser profile includes a list of instant message names with each nameassigned to an address (phone number). The routing server 24 is incommunication with one or more short message service centers (SMSC) 32that is in communication with one or more wireless mobile carriers 34.Each wireless mobile carrier 34 supports subscribing users operatingmobile unit devices 36, such as a hand-held cell phone, a bag phone or avehicle phone. The routing server 24 is also coupled to a public orprivate data network 30, such as the Internet. Also coupled to thepublic or private data network 30 are an instant message server 40 andone or more traditional systems 42, such as a personal computer.

The communication link between the routing server 24 and the shortmessage service center 32 is also either a public or private datanetwork, such as the Internet or a private dedicated circuit. A protocolresiding over the communication link defines the structure ofinformation communicated between the routing server 24 and the shortmessage service center 32. Preferably this link is the Internet withTCP/IP operating thereon. Operating over TCP/IP is another protocol thatallows the routing server 24 to identify the effectiveness ofcommunications to the mobile unit devices 36. An example protocolresiding over TCP/IP is the short message peer-to-peer (SMPP) protocolor configuration or data management procedure (CDMP) protocol. Theseprotocols provide visibility of the status of message deliveries to themobile unit devices 36.

A data bearer protocol defines the structure of data messagescommunicated between the mobile unit devices 36, the mobile carrier 34and the short message service center 32. The global system for mobilecommunications (GSM) environment, used as the primary digital wirelessstandard throughout Europe, uses the short message service (SMS)standard data bearer protocol for formatting data for delivery betweenthe mobile unit devices 36, wireless mobile carrier 34 and the shortmessage service center 32. The SMS protocol describes the format ofdata, called SMS packages, sent or received through the system. Inaccordance with the present invention, the format of data messages, i.e.SMS package, sent from the mobile unit device includes the phone numberof the mobile unit device, a destination phone number, the short messageservice center address (preferably a number), a validity period valueand message content. The validity period value informs the short messageservice center 32 how long to attempt delivery. Each data message (SMSpackage) is preferably a single block of information. As can be readilyappreciated by those of ordinary skill in the art of wirelesscommunication, the SMS package may be divided up into multiple packetsof data and sent at various intervals.

FIG. 2 illustrates a method for remotely creating an instant messagename list for a cellular phone. First, a user, who is a subscriber to awireless instant message service, uses a traditional system 42 coupledto the network 30 to sign on to a web site supported or generated by therouting server 24. A user becomes a subscriber by completing aregistration process that can be performed during online communicationwith either servers 24 or 40 or through other means, such as e-mail,conventional mail or telephonic communication. Once the user has enteredinto the routing server's web site by preferably completing a sign-on orlogon with password verification, the user begins instant message namelist (i.e. buddy list) creation for the user's mobile unit device 36. Ifthe cell phone user knows the instant message name that corresponds to adesired recipient, decision block 50, the user enters the instantmessage name. The entered instant message name is then saved in alook-up table at a location in the database 26, block 52. The look-uptable is stored in relation to predefined user profile information. Eachinstant message name stored in the look-up table has a correspondingdestination address, preferably a phone number. For example, the routingserver 24 receives from the mobile carrier 24 or a telecommunicationscontrolling agency a set of n telephone numbers. In the database 26 foreach user profile, the server 24 associates a number from the set of ntelephone numbers to an entered instant message name. As a result, therouting system 22 reuses a limited number of phone numbers.

If the cell phone user does not know the instant message name thatcorresponds to a desired recipient, decision block 50, the user entersinformation that corresponds to the desired recipient, such as an e-mailaddress, block 54. The server hosting the name list creation websitethen searches for an instant message name that corresponds to theentered information, block 60. If, at decision block 60, there is acorresponding instant message name, the corresponding instant messagename is entered and saved, see block 52 above. If, at decision block 60,the search fails to find a corresponding instant message name, no nameentry occurs and the user is given the opportunity to enter more instantmessage names, decision block 62. The user is also given the opportunityto enter more instant message names, decision block, after block 52.

If, at decision block 62, the user does not wish to enter more instantmessage names, a program is generated by the server hosting the namelist creation website for programming the created instant message namelist into the user's mobile unit device 36, block 68. Next, at block 70,the generated program is sent through the short message service center32, where it is formatted according to the proper protocol, and thenthrough the mobile carrier 34 to the user's mobile unit device 36. Atblock 72, the user's mobile unit device 36 receives and executes theprogram, thus saving the instant message name list in an address bookstored in memory. In other words, the mobile unit device is programmedin an over-the-air-programming manner to include the instant messagename list within the mobile unit device's instant message listings (i.e.address book).

In an alternative embodiment, if the mobile carrier 34 and correspondingmobile unit devices 36 do not include the hardware or softwarecomponents for receiving and executing the program for loading the savedinstant message name list, the loading of instant message names andcorresponding phone numbers that are stored at the routing system 22 aremanually entered into the address book of the user's mobile unit device36.

FIGS. 3-7 illustrate the process of instant message function delivery,message delivery and instant message reception using a mobile unitdevice across a wireless and non-wireless network. First, at block 80 ofFIG. 3, through a user interface on the mobile unit device 36 the userselects an instant message function or an instant message name(s) fromthe mobile unit device's address book based on the latest stored instantmessage name status information received from the instant message namerouting server 24 as a result of a sign on, a status update or the lastcommunication with the instant message routing server 24 (see FIG. 5below). Then, the user enters message content information (eitherfunction related information or a message accordingly). Alternatively,the message content information is entered first, then an instantmessage function or an instant message name is selected. Examples ofuser interaction with the instant message routing server 24 and with themobile unit device 36 are illustrated by example in FIGS. 8-14 below.Next, at block 82, the user's selection and entered information isformatted according to the predefined protocol and sent to the mobilecarrier 34. At block 84, the mobile carrier 34 receives the formatteddata and sends the formatted data to a short message service center 32according to the included short message service center addressinformation. At decision block 86, the short message service center 32determines if the received formatted data includes address data assignedto an instant message routing server 24, i.e. an address field or phonenumber. If the formatted data does not include address data assigned toan instant message routing server 24, the formatted data is probably anemail message and is processed according to known cellular Short Messageprocessing methods, block 88. Also commonly referred to as email forcell phones. If the formatted data does include address data assigned toan instant message routing server 24, the formatted data is reformattedaccording to the predefined protocol used to communicate informationbetween the short message service center 32 and the instant messagerouting server 24 and then sent to the instant message routing server24, block 90.

As shown in FIG. 4, at decision block 102, the instant message routingserver 24 compares the destination number included in the reformatteddata to the look-up table in the user profile location in the database26 that corresponds to the mobile unit device phone number included withthe received data. The comparison determines what action corresponds tothe destination number. If the action corresponding to the destinationnumber is an instant message function, the instant message routingserver 24 executes the instant message function, see FIG. 5 below. Ifthe action corresponding to the destination number is an instant messagename, the instant message routing server 24 repackages the formatteddata as an instant message and sends it to the recipient associated withinstant message name, block 104. Before or after the repackaging occurs,the instant message routing server 24 determines if the recipient thatcorresponds to the instant message name is signed on to the instantmessage system, i.e. the instant message server 40, decision block 106.If the recipient is not signed on, the instant message routing server 24sends a failure message to the user's mobile unit device 36 through theshort message service center 32 and mobile carrier 34, block 108. In afirst alternate embodiment, if the recipient is not signed on, theinstant message server 40 stores the instant message until the instantmessage server 40 detects that the recipient has signed on through aninstant message routing server 24 or a traditional system 42. In asecond alternate embodiment, if the recipient is not signed on, theinstant message is forwarded to a previously designated e-mail address.

If the recipient is signed on, the instant message routing server 24sends the instant message to the recipient through the instant messageserver 40 over the network 30, block 110. The process of sending aninstant message to a mobile unit device recipient is described in moredetail below in FIGS. 6 and 7.

FIG. 5 illustrates the process of processing data received from a mobileunit device 36 that corresponds to an instant message function, from Bof FIG. 4. First, at decision block 120, if the function is a sign onfunction, the instant message routing server 24 establishes a newinstant message session with the instant message server 40 for the userassociated with the mobile unit device 36 that send the sign onfunction. The establishment of a new instant message session is done inaccordance with the proper password(s) that was included in the messagecontent sent from the mobile unit device 36, block 122. The instantmessage routing server 24 checks with instant message server 40 todetermine which of the names in the instant message name list associatedwith the user and stored in the database 26 are available or signed on,block 124. This determination of who is available is then sent to themobile unit device 36 through the short message service center 32 andthe mobile carrier 34, block 126. Once the mobile unit device 36receives the availability determination, the device 36 process it andmakes the availability information available for use by the user, block127.

If the instant message function is not the sign on (sign on) functionand if no instant message session is presently active for the user atthe instant message routing server 24, decision block 128, a messageinforming the user that sign on must occur first is presented, block130. If an instant message session exists and the function is a sign off(sign off) function, decision block 132, the instant message routingserver 24 ends the corresponding instant message session, block 134.However, if the function is not the sign off function, the function isprocessed according to instant message rules, block 136. The followingother functions are available: delete; add; and check status. Withregards to the delete function, the instant message routing server 24deletes each instant message name included in the message content fromthe instant message name list stored with the user's profile informationin the database 26. With regards to the add function, the instantmessage routing server 24 adds each instant message name included in themessage content to the instant message name list stored with the user'sprofile information in the database 26. During instant message sessionthe instant message routing server 24, like an instant message sessionon a traditional system 42, continually receives connection statusinformation of each instant message name in the instant message namelist. With regards to the check status function, the instant messagerouting server 24 sends the latest received connection statusinformation to the mobile user device 36 through the short messageservice center 32 and the mobile carrier 34.

FIGS. 6 and 7 illustrate the process of sending an instant message to arecipient signed on to the instant message service from a mobile unitdevice 36 through an instant message routing server 24. The process ofFIG. 6 occurs when an instant message is sent from another user of amobile unit device 36, C from FIG. 4, or from a user of a traditionalsystem 42, such as a desktop or laptop computer. First, at block 140,the instant message server 40 receives an instant message and, at block142, sends it to the signed on recipient identified in the instantmessage. If, at decision block 144, the recipient is a normal instantmessage recipient, i.e. not a recipient with an instant message sessionactive through the instant message routing server 24, the recipientreceives and views the instant message as per instant messageprocedures, block 146. If, on the other hand, at decision block 144, therecipient is a user with an instant message session active through theinstant message routing server 24, the instant message routing server 24receives the instant message, block 148. Then, at block 150, the instantmessage routing server 24 prepares the received instant messageaccording to the predefined protocol and sends the prepared instantmessage to the short message service center 32, where the short messageservice center 32 stores and forwards the instant message to the mobilecarrier 36 according to the predefined wireless protocol, block 152.

As shown in FIG. 7, at block 160, the mobile carrier 36 prepares theinstant message received from the short message service center 32 fortransmission and sends the prepared transmission to the mobile unitdevice 36. If, at decision block 162, the mobile unit device 36successfully receives the prepared transmission of the instant message,the mobile unit device 36 replies to the short message service center 32that the transmission was received, block 164. Then, at block 166, theshort message service center 32 receives the mobile unit device'ssuccessful reply and deletes the stored instant message.

If, however, at decision block 162, the mobile unit device 36 did notsuccessfully receive the prepared transmission of the instant messageand if, at decision block 168, a transmission delivery threshold has notbeen reached, a message is sent to the short message service center 32that the mobile unit device 36 did not successfully receive the instantmessage, block 170. This message of unsuccessful reception is sent bythe mobile carrier 34. When the short message service center 32 receivesa message of unsuccessful reception, the short message service center 32retrieves the stored instant message that corresponds to theunsuccessfully sent transmission and resends the transmission to themobile unit device 36 through the mobile carrier 34, blocks 172 and 160.

Again, at decision block 162, if the mobile unit device 36 did notsuccessfully receive the prepared transmission of the instant messageand if, at decision block 168, a transmission delivery threshold hasbeen reached, the mobile carrier 34 sends a message to the instantmessage routing server 24 through the short message service center 32that the mobile unit device 36 is not connected or not receiving instantmessages, block 174. When the instant message routing server receives amessage of this type, the instant message routing server 24 signs off orlogs off the instant message session associated with the user of themobile unit device 36 that failed to receive the transmission, block176. The transmission delivery threshold is preferably a predefinednumber of delivery attempts. Once the number of attempts have beenreached or exceeded, the mobile carrier 34 assumes the mobile userdevice 36 is off or out of reception range. It can be readilyappreciated by those of ordinary skill in the art of cell phonecommunication, that various data delivery methods can be used forinsuring information gets delivered during temporary periods of timewhen the cell phone is out of communication with the mobile carrier.

FIGS. 8-14 illustrate example user interfaces used for instant messagename list creation (FIG. 2) and for mobile unit device interaction(FIGS. 3-7). As shown in FIG. 8, a wireless instant messaging sign onwindow 200 includes data fields for entry of the user's screen name 202and password 204. The user's screen name and password are stored in oneof the routing server 24 or the instant message server 40 as a result ofa previously performed registration process. After the correctinformation is entered in the data fields 202 and 204, the user isprovided access to various user wireless instant messaging information,such as user account information and an instant message name listinterface, as shown in FIG. 9. The wireless instant messaging sign onwindow 200 is presented on a traditional system 42 that is coupled tothe public or private data network 30. The traditional system 42includes previously loaded software received from either the instantmessage routing server 24 or the instant message server 40 as a resultof the registration process.

As shown in FIG. 9, an instant message name list window 220 is aninterface that allows users interaction with the stored instant messagename list. Each instant message name in the list corresponds to a phonenumber assigned to the instant message routing server 24. Through window220 the user enters, deletes or reorders instant message names based ona comparison with the address book stored in the user's mobile unitdevice and the user's desired entries. The server 24 or 40 that hoststhe window 220 assigns a phone number to each new instant message nameentered by the user. The phone numbers assigned are selected from a poolof phone numbers specifically assigned for that purpose. After the userhas entered any new instant message names into window 220, the userrequests loading of the newly entered instant message names into theuser's mobile unit device 36. The server 24 or 40 that hosts the window220 then generates an instant message name entry executable program thatis sent through the short message service center 32 and the mobilecarrier 34 to the user's mobile unit device 36. When the user's mobileunit device 36 receives the executable program, the mobile unit device36 executes the instant message name entry program and loads the newlyentered names with corresponding phone numbers into the mobile unitdevice's address book stored in memory.

FIG. 10 shows a mobile unit device 230 with an example first addressbook user interface (ui) screen 228. The first address book ui screen228 includes the instant message names stored in the first fourlocations in the mobile unit device's address book. The mobile unitdevice 230 includes on-screen and off-screen user interface controlfeatures (e.g. touch screen, cursor control, soft function keys). Twoexamples on-screen user interface control features are a “Select” 232and a “Back” 234 function displayed at the bottom of the address book uiscreen 228. In order for a user to send an instant message, the userselects a create message display screen, enters a text message using themobile unit device's keypad, such as the T9®, enabled keypad produced byTegic Communications™, and then selects a recipient (an instant messagename) from the address book ui screen. User activation of the “Select”function allows the user to select a user identified (e.g. highlighted)instant message name in the name list as the recipient of the enteredinstant message. User activation of the “Back” function allows the userto view the previously displayed ui screen.

FIG. 11 shows an example second ui screen 236 of the address book. Thesecond ui screen 236 shows address book locations occupied by thefollowing instant message functions: update recipient (instant messagename or buddy) availability; delete a recipient; sign off; sign on. Whenthe user selects and sends the update recipient availability (“Buddies”)function with any necessary predefined message content to the instantmessage routing server 24, the instant message routing server 24 checksavailability of recipients (instant message names in the stored instantmessage name list) and sends the results back to the mobile unit device230. FIG. 12 shows the results of an executed recipient update on thedisplay of the mobile unit device 230. In display area 238, recipientsEmma972 and Gomer22 are indicated as being on-line (i.e. signed on theinstant message system). Richard53, tom235 and zebra 98 are indicated asbeing off-line (i.e. signed off the instant message system).

When the user selects and sends the “Delete” recipient function with therecipient's instant message name in the message content to the instantmessage routing server 24, the instant message routing server 24 deletesthe included instant message name from the user's instant message namelist stored in the database 22. Selection of the “SignOff” functioncommands the instant message routing server 24 to end the instantmessage session associated with the user. Selection of the “SignOn”function commands the instant message routing server 24 to initiate aninstant message session with the instant message server 40 according toscreen name and password information sent as message content to theinstant message routing server 24, see FIG. 13. The “SignOn” functionmessage content can be saved at the mobile unit device and reused forsubsequent sign on requests. Alternatively, the instant message routingserver 24 stores the user's instant message screen name and password andthe phone number of the user's mobile unit device 36 to aid withautomatic sign on.

FIG. 14 shows how a received message appears on the mobile unit device230. The message content of the received message is displayed with theinstant message name of the originator of the received message.

As can be readily appreciated by those of ordinary skill in the art, thefunctions performed by the routing system 22 may be combined with theinstant message server 40 or the short message service center 32. Theshort message service center 40 may be included in the mobile carrierinfrastructure. Also, the functions of the components of the presentinvention may be distributed to multiple servers across one or more ofthe included networks.

While the presently preferred embodiment of the invention has beenillustrated and described, it will be appreciated that various changescan be made therein without departing from the spirit and scope of theinvention.

1. A computer program product residing on a computer readable medium,the computer readable medium residing on a cellular communicationsdevice for enabling a user cellular communications device to communicatewith other users using instant messages, the computer program productcomprising: a first component for creating and initiating the sending ofa sign on function from the cellular communications device based onmanual selection by a user of the cellular communications device, themanual selection is not associated with a power-on sequence; and asecond component for displaying availability information received inresponse to the sent sign on function, wherein the availabilityinformation is based on a user-defined group of other users, wherein theavailability information includes an indication of an availability ofthe other users to communicate using instant messages.
 2. A computerprogram product residing on a computer readable medium, the computerreadable medium residing on a server in data communication with a shortmessage service center and an instant message system, the computerprogram product comprising: a database comprising a plurality of userprofiles, each of the plurality of user profiles further comprises useridentification information and at least one of an instant message nameor an instant message function assigned to a user destination address; acomponent for receiving an instant text message signal from at least onecellular communications device via a mobile carrier and the shortmessage service center, the received instant text message signalcomprises a destination address, information associated with thecellular communications device's user, message content and messageaddress; a component for executing the assigned instant message functionwith an instant message server through the public data network accordingto the information contained in the message content, if the destinationaddress is assigned to an instant message function; and a component forcreating an instant text message comprising the message content fordelivery to the assigned instant message name, if the destinationaddress is assigned to an instant message user name